export class Ddapi {

  //钉钉签名设置
  config(cfg) {
    DingTalkPC.config(cfg);
  }

  //钉钉容器设置
  // ready() {
  //     return new Promise(function (resolve) {
  //         DingTalkPC.ready(function () {
  //             resolve();
  //         });
  //     })
  // }

  //免登er

  requestAuthCode(corpid) {
    return new Promise(function (resolve) {
      DingTalkPC.runtime.permission.requestAuthCode({
        corpId: corpid, //企业ID
        onSuccess: function (result) {
          resolve(result.code)

        },
        onFail: function (err) {
          console.log(1)
        }
      })
    })
  }


  error() {
    return new Promise(function (resolve) {
      DingTalkPC.error(function (error) {
        resolve(error)
      })
    })
  }
  toast(text, icon = '', duration = 2, delay = 0) {
    DingTalkPC.device.notification.toast({
      type: icon, //toast的类型 alert, success, error, warning, information, confirm
      text: text, //提示信息
      duration: duration, //显示持续时间，单位秒，最短2秒，最长5秒
      delay: 0, //延迟显示，单位秒，默认0, 最大限制为10
      onSuccess: function (result) {
        /*{}*/
      },
      onFail: function (err) {}
    })
  }
  scrollLoad() {
    return new Promise(function (resolve) {
      document.getElementById("CloudBody").onscroll = function () {
        if (this.scrollTop < 2) {
          resolve(0)
        }
        if (this.scrollTop > 2) {
          dd.ui.pullToRefresh.disable()
        }
        if (this.scrollHeight - this.scrollTop - this.offsetHeight < 2) {
          resolve(1)
        }
      }
    })
  }
  // 调用通讯录选人
  contactChoose(userid) {
    return new Promise(function (reslove, reject) {
      DingTalkPC.biz.contact.choose({
        multiple: true, //是否多选： true多选 false单选； 默认true
        users: userid, //默认选中的用户列表，员工userid；成功回调中应包含该信息
        corpId: localStorage.getItem('corpid'), //localStorage.getItem("corpId"), //企业id
        max: 1500, //人数限制，当multiple为true才生效，可选范围1-1500
        onSuccess: function (data) {
          reslove(data);
        },
        onFail: function (err) {
          console.log(err);
        }
      });
    })
  }
  // 调用通讯录选人
  chooseUserOne() {
    return new Promise(function (reslove, reject) {
      DingTalkPC.biz.contact.choose({
        multiple: true, //是否多选： true多选 false单选； 默认true
        users: [], //默认选中的用户列表，员工userid；成功回调中应包含该信息
        corpId: localStorage.getItem('corpid'), //localStorage.getItem("corpId"), //企业id
        max: 1, //人数限制，当multiple为true才生效，可选范围1-1500
        onSuccess: function (data) {
          reslove(data);
        },
        onFail: function (err) {
          console.log(err);
        }
      });
    })
  }
  //调用ding提醒
  post(userid) {
    return new Promise(function (reslove, reject) {
      DingTalkPC.biz.ding.post({
        users: userid, //用户列表，userid
        corpId: localStorage.getItem('corpid'), //localStorage.getItem("corpid"), //企业id
        type: 2, //钉类型 1：image  2：link
        alertType: 2,
        alertDate: {
          "format": "yyyy-MM-dd HH:mm",
          "value": "2015-05-09 08:00"
        },
        attachment: {
          title: '', //附件的标题
          url: '', //附件点击后跳转url
          image: '', //附件显示时的图片 【可选】
          text: '' //附件显示时的消息体 【可选】
        },
        text: '', //消息体
        onSuccess: function (data) {
          reslove(data);
        },
        onFail: function (err) {
          console.log(err)
        }
      })
    })
  }
}

let ddapi = new Ddapi();
export default ddapi;
